| Total Complexity | 3 | 
| Total Lines | 27 | 
| Duplicated Lines | 0 % | 
| Changes | 0 | ||
| 1 | import { LeaveRequest, Type } from './LeaveRequest.entity'; | 
            ||
| 2 | |||
| 3 | export class UserLeavesCollection { | 
            ||
| 4 | public paid: LeaveRequest[] = [];  | 
            ||
| 5 | public unpaid: LeaveRequest[] = [];  | 
            ||
| 6 | public special: LeaveRequest[] = [];  | 
            ||
| 7 | public medical: LeaveRequest[] = [];  | 
            ||
| 8 | |||
| 9 | constructor(  | 
            ||
| 10 | leaves: LeaveRequest[]  | 
            ||
| 11 |     ) { | 
            ||
| 12 | this.distributeLeavesByType(leaves);  | 
            ||
| 13 | }  | 
            ||
| 14 | |||
| 15 |     private distributeLeavesByType(leaves: LeaveRequest[]): void { | 
            ||
| 16 |         for (const leave of leaves) { | 
            ||
| 17 |             switch (leave.getType()) { | 
            ||
| 18 | case Type.PAID:  | 
            ||
| 19 | this.paid.push(leave);  | 
            ||
| 20 | break;  | 
            ||
| 21 | case Type.UNPAID:  | 
            ||
| 22 | this.unpaid.push(leave);  | 
            ||
| 23 | break;  | 
            ||
| 24 | case Type.SPECIAL:  | 
            ||
| 25 | this.special.push(leave);  | 
            ||
| 26 | break;  | 
            ||
| 27 | case Type.MEDICAL:  | 
            ||
| 28 | this.medical.push(leave);  | 
            ||
| 29 | }  | 
            ||
| 33 |